草庐IT

Android Studio 找不到 JUnit 包

全部标签

java - 在 JUnit 的测试类中定义内部类时出错

我在为JUnit3从TestCase继承的Test类中定义内部类时遇到一些问题。场景如下:Foo.javapublicclassFoo{publicvoidmethod(){...}}FooTest.javapublicclassFooTestextendsTestCase{publicclassBarextendsFoo{publicvoidmethod(){...}}publicvoidtestMethod(){...}}现在,如果我从Eclipse运行它,测试运行正常,但如果我尝试从Ant任务运行,它会失败:[junit]junit.framework.AssertionFail

java - 在 Maven 测试期间找不到 persistence.xml

我正在尝试在Maven构建期间将测试数据加载到测试数据库中以进行集成测试。persistence.xml被正确复制到target/test-classes/META-INF/,但在运行测试时出现此异常。javax.persistence.PersistenceException:NoPersistenceproviderforEntityManagernamedaimDatabase看起来它没有找到或加载persistence.xml。 最佳答案 刚刚用基于Maven/Eclipse的JPA项目解决了同样的问题。我的META-INF

java - JUnit4 是否开始支持测试排序?是故意的吗?

JUnit(实际上是JUnit4)的新手,遇到了执行测试的套件方式@RunWith(Suite.class)@Suite.SuiteClasses({CreateNewProfile.class,EditProfile.class,})publicclassProfileTestSuite{}这是我在浏览新雇主的测试代码库时遇到的代码示例。在执行期间,我资助-首先执行CreateNewProfile测试,然后执行EditProfile,这确实有道理,但随后它引入了测试之间的依赖性。几个月来我一直在关注非依赖测试机制(尽管我过去使用的是TestNG而不是JUnit)并且希望EditPro

Java JUnit assertEquals 与 Long

assertEquals(newLong(42681241600),newLong(42681241600));我尝试检查两个长数字但是当我尝试编译它时我得到了integernumbertoolarge:42681241600错误。文档显示有一个Long,LongassertEquals方法,但它没有被调用。 最佳答案 你想要:assertEquals(42681241600L,42681241600L);您的代码正在调用assertEquals(Object,Object)。您还需要在数字末尾附加“L”字符,以告诉Java编译器该

java - 作业给出了意想不到的答案

今天我遇到了以下问题,我似乎找不到解决方案:inti,j,k;i=j=k=3;i=k++;所以对我来说,变量“i”现在必须具有值4似乎是合乎逻辑的,因为我们将“k”的增量分配给它。在多项选择测试中,第三行之后的正确值改为:k=4和i!=4既然我们将k的增量分配给了i,为什么给定的解决方案与我的预期完全相反?提前致谢! 最佳答案 首先,正如JBNizet所指出的,不要这样做。偶尔我会在另一个表达式中使用后缀增量,例如array[index++]=value;但为了清楚起见,我经常将它分成两个语句。我不打算回答这个问题,但是所有答案(在

java - 选择执行 JUnit 测试的顺序

我想选择执行JUnit测试的顺序。我有4个类,其中有几个测试方法,我的目标是执行,例如,类A的方法Y,然后是类B的方法X,最后是类A的方法Z。你能帮忙吗? 最佳答案 从4.11版开始,您可以使用注释指定执行顺序并按方法名称排序:importorg.junit.Test;importorg.junit.FixMethodOrder;importorg.junit.runners.MethodSorters;@FixMethodOrder(MethodSorters.NAME_ASCENDING)publicclassMyTest{@T

java - ActiveMQ Broker Factory 找不到用于故障转移的工厂类

尝试使用BrokerFactory创建ActiveMQ代理时出现此错误:java.io.IOException:Couldnotloadfailoverfactory:java.io.IOException:Couldnotfindfactoryclassforresource:META-INF/services/org/apache/activemq/broker/failoveratorg.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:27)atorg.apache.activemq.b

java - 使用 JUnit4 进行测试时,Spring @transactional 不会启动事务

我有以下配置。org.hibernate.dialect.SQLServerDialecttruetrueorg.hibernate.dialect.SQLServerDialectfalsefalsetruetrue然后,当我运行具有插入语句的测试时,它们会产生这样的错误消息:javax.persistence.TransactionRequiredException:Executinganupdate/deletequeryatorg.hibernate.ejb.QueryImpl.executeUpdate(QueryImpl.java:47)经过深思熟虑,我尝试了这个:@Run

java - 错误 StatusLogger Log4j2 找不到日志记录实现

我正在尝试实现log4j2但它一直抛出以下错误。>ERRORStatusLoggerLog4j2couldnotfindaloggingimplementation.>Pleaseaddlog4j-coretotheclasspath.UsingSimpleLoggertologto>theconsole...>ERRORLogExampleThisWillBePrintedOnError>FATALLogExampleThisWillBePrintedOnFatal我试过网上给出的解决方案。但它们似乎对我不起作用。这是我要运行的代码。packagedemo;importorg.apa

java - 无法在 Eclipse 中调试 Mockito/JUnit 代码,仅适用于 JUnit

我的JUnit测试运行良好。将Mockito添加到我的构建中,我尝试在我的JUnit测试中放置一个断点,该测试使用Mockito模拟一些公共(public)方法。当我尝试在类上运行调试器时,出现错误“由于缺少行号属性,无法在XXX中安装断点。修改编译器选项以生成行号属性。”我检查了我的编译器并选择了生成行号。 最佳答案 您看到的异常是由于尝试调试由mock()函数创建的动态生成的空模拟方法引起的。从你的问题来看,你似乎真的想使用部分模拟而不是完整模拟,其中只有一些方法被模拟,其余的调用被委托(delegate)给真正的实现。要创建部